package com.mdd.common.entity.goods;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@ApiModel("商品产品实体")
public class Goods implements Serializable {

	private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	@ApiModelProperty("ID")
	private Integer id;

	@ApiModelProperty("货号")
	private String code;

	@ApiModelProperty("店铺id关联")
	private Integer shopId;

	@ApiModelProperty("店铺名称")
	@TableField(exist = false)
	private String shopName;

	@ApiModelProperty("店铺logo")
	@TableField(exist = false)
	private String shopLogo;

	@ApiModelProperty("名称")
	private String name;

	@ApiModelProperty("描述")
	private String description;

	@ApiModelProperty("状态")
	private Integer status;

	@ApiModelProperty("商品主图")
	private String image;

	@ApiModelProperty("运费设置: 1=包邮, 2=运费模板")
	private Integer expressType;

	@ApiModelProperty("运费模板")
	private Integer expressTemplateId;

	@ApiModelProperty("虚拟销量")
	private Integer virtualSalesNum;

	@ApiModelProperty("库存预警")
	private Integer stockWarning;

	@ApiModelProperty("规格类型: [1=单规格, 2=多规格]")
	private Integer specType;

	@ApiModelProperty("排序")
	private Integer sort;

	@ApiModelProperty("视频开关: [0=关闭, 1=开始]")
	private Integer videoStatus;

	@ApiModelProperty("视频来源: [1=视频素材库, 2=视频链接]")
	private Integer videoSource;

	@ApiModelProperty("视频封面")
	private String videoCover;

	@ApiModelProperty("商品主图")
	private String video;

	@ApiModelProperty("最小价")
	private BigDecimal minPrice;

	@ApiModelProperty("最大价")
	private BigDecimal maxPrice;

	@ApiModelProperty("最小划线价")
	private BigDecimal minLineationPrice;

	@ApiModelProperty("最大划线价")
	private BigDecimal maxLineationPrice;

	@ApiModelProperty("总库存")
	private Integer totalStock;

	@ApiModelProperty("虚拟点击量")
	private Integer virtualClickNum;

	@ApiModelProperty("商品销量")
	private Integer salesNum;

	@ApiModelProperty("商品浏览量")
	private Integer clickNum;

	@ApiModelProperty("商品详情")
	private String content;

	@ApiModelProperty("活动状态: 1=是, 0=否")
	private Integer isActivity;

	@ApiModelProperty("购买当前商品返积分数")
	private Integer integralNum;

	@ApiModelProperty("是否支持七天无理由（1、是 0、否）")
	private Integer isReason;

	@ApiModelProperty("是否包退费（运费险）(1、是 0、否)")
	private Integer isFreight;

	@ApiModelProperty("删除状态: 1=是, 0=否")
	private Integer isDelete;

	@ApiModelProperty("创建时间")
	private Long createTime;

	@ApiModelProperty("更新时间")
	private Long updateTime;

	@ApiModelProperty("是否推荐 1=是 0=否")
	private Integer isTop;

	// 供货价
	private BigDecimal supplyPrice;

	// 普通用户返现金额
	private BigDecimal cashbackOrdinary;

	// 银牌用户返现金额
	private BigDecimal cashbackSilver;

	// 金牌用户返现金额
	private BigDecimal cashbackGold;

	// 钻石用户返现金额
	private BigDecimal cashbackDiamond;

	// 合伙人返现金额
	private BigDecimal cashbackPartner;

	// 联创V8返现金额
	private BigDecimal cashbackCreate8;

	// 联创V9返现金额
	private BigDecimal cashbackCreate9;

	//是否参与返金币购物 1=是 0=否
	private Integer isCashback;

	//下单领取会员 0=无 1=银牌 2=金牌 3=钻石
	private Integer receiveVip;

	//分佣类型 1=利润分佣 2=售价分佣 3=不分佣 4=月分佣 5=日分佣
	private Integer commissionType;

	// 按售价分佣比例
	private BigDecimal commissionRatio;
	//返金币比例 (毛利率*当前比例 * 100(1:100))
	private BigDecimal cashbackRatio;

	@ApiModelProperty("审核状态 0：待审核 1：审核通过 2：审核失败")
	private Integer examine;

	@ApiModelProperty("审核时间")
	private Long examine_time;

	@ApiModelProperty("审核拒绝理由")
	private String refuseReason;

	// 一级银牌 返现/金币 数量
	private BigDecimal level1Silver;
	// 二级银牌 返现/金币 数量
	private BigDecimal level2Silver;
	// 一级金牌 返现/金币 数量
	private BigDecimal level1Gold;
	// 二级金牌 返现/金币 数量
	private BigDecimal level2Gold;
	// 一级钻石 返现/金币 数量
	private BigDecimal level1Diamond;
	// 二级钻石 返现/金币 数量
	private BigDecimal level2Diamond;
	// 一级合伙人 返现/金币 数量
	private BigDecimal level1Partner;
	// 二级合伙人 返现/金币 数量
	private BigDecimal level2Partner;
	// 一级联创V8 返现/金币 数量
	private BigDecimal level1Create8;
	// 二级联创V8 返现/金币 数量
	private BigDecimal level2Create8;
	// 一级联创V9 返现/金币 数量
	private BigDecimal level1Create9;
	// 二级联创V9 返现/金币 数量
	private BigDecimal level2Create9;
	
	// 下单返金币数量
	private BigDecimal goldCoin;
	
	// 二级钻石 金币数量
	private BigDecimal level2DiamondGold;
	// 二级合伙人 金币数量
	private BigDecimal level2PartnerGold;
	// 二级联创V8 金币数量
	private BigDecimal level2Create8Gold;
	// 二级联创V9 金币数量
	private BigDecimal level2Create9Gold;
	
	// 所属城市
	private String city;
	
	// 产品参数
	private String parameter;
	

}
